Impurity ELF Injection

Impurity was a concept developed by Alexander Cuttergo that described a method of loading and executing a new ELF executable in-memory. This technique allows for arbitrarily complex payloads to be written in standard C, the only requirement is a special loader payload. The Framework includes a Linux loader for Impurity executables, the payload is named linux_ia32_reverse_impurity and requires the PEXEC option to be set to the path of the executable.

Impurity executables must be compiled in a specific way, please see the documentation in the src/impurity subdirectory for more information about this process. The QUICKSTART.impurity file in the "docs" subdirectory steps through the process of using Impurity to execute the "shelldemo" application inside another process. The "shelldemo" allows you to access file handles, change privileges and file system permissions, break out of chroot, and more! The original mailing list post is archived online at:

http://archives.neohapsis.com/archives/vuln-dev/2003-q4/0006.html